package com.mdb.open.trade.domain.dto.trade;


import com.mdb.bc.api.data.DataObjectBase;
import com.mdb.open.common.enums.trade.type.AttachFileTypeEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;

/**
 * @description:
 * @author: you.yichao
 * @create: 2019-08-10 22:20
 **/
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@ApiModel(value="TradeFileAttachDto", description="贸易档案附件信息数据传输类Dto对象")
public class TradeFileAttachDto extends DataObjectBase {

    /**
     * 附件编号
     */
    @ApiModelProperty(value = "附件编号")
    @NotBlank(message = "附件编号不允许为空")
    @Size(max = 64, message = "附件编号最长为{max}位")
    private String fileNo;

    /**
     * 文件类型
     */
    @ApiModelProperty(value = "文件类型")
    @NotNull(message = "文件类型不能为空")
    private AttachFileTypeEnum fileType;

    /**
     * 文件名
     */
    @ApiModelProperty(value = "文件名")
    @NotBlank(message = "文件名不能为空")
    @Size(max = 64, message = "文件名最长为{max}位")
    private String fileName;

    /**
     * 商户编号
     */
    @ApiModelProperty(value = "商户编号")
//    @NotBlank(message = "商户编号不能为空")
    @Size(max = 64, message = "附件编号最长为{max}位")
    private String merchantNo;

    /**
     * 申请单编号
     */
    @ApiModelProperty(value = "申请单编号", hidden = true)
    private String applyOrderNo;

    /**
     * 业务单号
     */
    @ApiModelProperty(value = "业务单号", hidden = true)
    private String bizOrderNo;

    /**
     * 附件编号
     */
    @ApiModelProperty(value = "附件编号", hidden = true)
    private String attachNo;

    /**
     * 客户编号
     */
    @ApiModelProperty(value = "客户编号", hidden = true)
    private String customerCode;


}
